package lua

//type Param interface {
//	Len() int                               //参数数量
//	List() []lua.LValue                     //所有参数
//	Get(int) lua.LValue                     //获取一个参数
//	GetInt(int) int                         //获取一个int类型参数
//	GetInt64(int) int64                     //获取一个int64类型参数
//	GetFloat64(int) float64                 //获取一个float64类型参数
//	GetString(int) string                   //获取一个字符串参数
//	GetBool(int) bool                       //获取一个bool类型参数
//	GetMap(int) map[interface{}]interface{} //获取一个map类型参数
//	GetFunc(int) func(Param) interface{}    //获取一个函数参数
//}
//
//func (this *Client) Len() int {
//	return this.client.GetTop()
//}
//
//func (this *Client) List() []lua.LValue {
//	list := []lua.LValue(nil)
//	for i := 1; i <= this.Len(); i++ {
//		list = append(list, this.Get(i))
//	}
//	return list
//}
//
//func (this *Client) Get(n int) lua.LValue {
//	return this.client.Get(n)
//}
//
//func (this *Client) GetInt(n int) int {
//	return this.client.ToInt(n)
//}
//
//func (this *Client) GetInt64(n int) int64 {
//	return int64(this.client.ToInt(n))
//}
//
//func (this *Client) GetFloat64(n int) float64 {
//	f, _ := strconv.ParseFloat(this.client.ToNumber(n).String(), 64)
//	return f
//}
//
//func (this *Client) GetString(n int) string {
//	return this.client.ToString(n)
//}
//
//func (this *Client) GetBool(n int) bool {
//	return this.client.ToBool(n)
//}
//
//func (this *Client) GetMap(n int) map[interface{}]interface{} {
//	m := make(map[interface{}]interface{})
//	this.client.ToTable(n).ForEach(func(key lua.LValue, value lua.LValue) {
//		m[key.String()] = value.String()
//	})
//	return m
//}
//
//func (this *Client) GetFunc(n int) func(Param) interface{} {
//	return func(i Param) interface{} {
//		this.client.ToFunction(n).GFunction(this.client)
//		result := this.client.Get(-1)
//		//this.LState.Pop(1)
//		return result.String()
//	}
//}
